11 research outputs found

    Brief Announcement: Memory Lower Bounds for Self-Stabilization

    Get PDF
    In the context of self-stabilization, a silent algorithm guarantees that the communication registers (a.k.a register) of every node do not change once the algorithm has stabilized. At the end of the 90\u27s, Dolev et al. [Acta Inf. \u2799] showed that, for finding the centers of a graph, for electing a leader, or for constructing a spanning tree, every silent deterministic algorithm must use a memory of Omega(log n) bits per register in n-node networks. Similarly, Korman et al. [Dist. Comp. \u2707] proved, using the notion of proof-labeling-scheme, that, for constructing a minimum-weight spanning tree (MST), every silent algorithm must use a memory of Omega(log^2n) bits per register. It follows that requiring the algorithm to be silent has a cost in terms of memory space, while, in the context of self-stabilization, where every node constantly checks the states of its neighbors, the silence property can be of limited practical interest. In fact, it is known that relaxing this requirement results in algorithms with smaller space-complexity. In this paper, we are aiming at measuring how much gain in terms of memory can be expected by using arbitrary deterministic self-stabilizing algorithms, not necessarily silent. To our knowledge, the only known lower bound on the memory requirement for deterministic general algorithms, also established at the end of the 90\u27s, is due to Beauquier et al. [PODC \u2799] who proved that registers of constant size are not sufficient for leader election algorithms. We improve this result by establishing the lower bound Omega(log log n) bits per register for deterministic self-stabilizing algorithms solving (Delta+1)-coloring, leader election or constructing a spanning tree in networks of maximum degree Delta

    Memory lower bounds for deterministic self-stabilization

    Full text link
    In the context of self-stabilization, a \emph{silent} algorithm guarantees that the register of every node does not change once the algorithm has stabilized. At the end of the 90's, Dolev et al. [Acta Inf. '99] showed that, for finding the centers of a graph, for electing a leader, or for constructing a spanning tree, every silent algorithm must use a memory of Ω(logn)\Omega(\log n) bits per register in nn-node networks. Similarly, Korman et al. [Dist. Comp. '07] proved, using the notion of proof-labeling-scheme, that, for constructing a minimum-weight spanning trees (MST), every silent algorithm must use a memory of Ω(log2n)\Omega(\log^2n) bits per register. It follows that requiring the algorithm to be silent has a cost in terms of memory space, while, in the context of self-stabilization, where every node constantly checks the states of its neighbors, the silence property can be of limited practical interest. In fact, it is known that relaxing this requirement results in algorithms with smaller space-complexity. In this paper, we are aiming at measuring how much gain in terms of memory can be expected by using arbitrary self-stabilizing algorithms, not necessarily silent. To our knowledge, the only known lower bound on the memory requirement for general algorithms, also established at the end of the 90's, is due to Beauquier et al.~[PODC '99] who proved that registers of constant size are not sufficient for leader election algorithms. We improve this result by establishing a tight lower bound of Θ(logΔ+loglogn)\Theta(\log \Delta+\log \log n) bits per register for self-stabilizing algorithms solving (Δ+1)(\Delta+1)-coloring or constructing a spanning tree in networks of maximum degree~Δ\Delta. The lower bound Ω(loglogn)\Omega(\log \log n) bits per register also holds for leader election

    Optimal Space Lower Bound for Deterministic Self-Stabilizing Leader Election Algorithms

    Get PDF
    Given a boolean predicate ? on labeled networks (e.g., proper coloring, leader election, etc.), a self-stabilizing algorithm for ? is a distributed algorithm that can start from any initial configuration of the network (i.e., every node has an arbitrary value assigned to each of its variables), and eventually converge to a configuration satisfying ?. It is known that leader election does not have a deterministic self-stabilizing algorithm using a constant-size register at each node, i.e., for some networks, some of their nodes must have registers whose sizes grow with the size n of the networks. On the other hand, it is also known that leader election can be solved by a deterministic self-stabilizing algorithm using registers of O(log log n) bits per node in any n-node bounded-degree network. We show that this latter space complexity is optimal. Specifically, we prove that every deterministic self-stabilizing algorithm solving leader election must use ?(log log n)-bit per node registers in some n-node networks. In addition, we show that our lower bounds go beyond leader election, and apply to all problems that cannot be solved by anonymous algorithms

    Optimisation de la mémoire pour les algorithmes distribués auto-stabilisants

    No full text
    Self-stabilization is a suitable paradigm for distributed systems, particularly prone to transient faults. Errors such as memory or messages corruption, break of a communication link, can put the system in an inconsistent state. A protocol is self-stabilizing if, whatever the initial state of the system, it guarantees that it will return a normal behavior in finite time. Several constraints concern algorithms designed for distributed systems. Asynchrony is one emblematic example. With the development of networks of connected, autonomous devices, it also becomes crucial to design algorithms with a low energy consumption, and not requiring much in terms of resources. One way to address these problems is to aim at reducing the size of the messages exchanged between the nodes of the network. This thesis focuses on the memory optimization of the communication for self-stabilizing distributed algorithms. We establish in this thesis several negative results, which prove the impossibility to solve some problems under a certain limit on the size of the exchanged messages, by showing an impossibility to fully use the presence of unique identifiers in the network below that minimal size. Those results are generic, and may apply to numerous distributed problems. Secondly, we propose particularly efficient algorithms in terms of memory for two fundamental problems in distributed systems: the termination detection, and the token circulation.L'auto-stabilisation est un paradigme adapté aux systèmes distribués, particulièrement susceptibles de subir des fautes transitoires. Des erreurs de corruption de mémoire, de messages, la rupture d'un lien de communication peuvent plonger le système dans un état incohérent. Un protocole est auto-stabilisant si, quel que soit l'état initial du système, il garantit un retour à un fonctionnement normal en temps fini. Plusieurs contraintes s'appliquent aux algorithmes conçus pour les systèmes distribués. L'asynchronie en est un exemple emblématique. Une des manières d'appréhender ces problèmes est de chercher à réduire la taille des messages échangés entre les différents nœuds du réseau. Cette thèse se concentre sur l'optimisation de la mémoire nécessaire à la communication pour les algorithmes distribués auto-stabilisants. Nous établissons dans cette thèse plusieurs résultats négatifs, démontrant l'impossibilité de résoudre certains problèmes sans une certaine taille minimale pour les messages échangés, en établissant une impossibilité d'utiliser jusqu'au bout l'existence d'identifiants uniques dans le réseau en dessous de cette taille minimale. Ces résultats sont génériques et peuvent s'appliquer à de nombreux problèmes distribués. Dans un second temps, nous proposons des algorithmes particulièrement efficaces en mémoire pour la résolution de deux problèmes fondamentaux des systèmes distribués: la détection de terminaison, et la circulation perpétuelle de jeton

    Memory-Optimization for Self-Stabilizing Distributed Algorithms

    No full text
    L'auto-stabilisation est un paradigme adapté aux systèmes distribués, particulièrement susceptibles de subir des fautes transitoires. Des erreurs de corruption de mémoire, de messages, la rupture d'un lien de communication peuvent plonger le système dans un état incohérent. Un protocole est auto-stabilisant si, quel que soit l'état initial du système, il garantit un retour à un fonctionnement normal en temps fini. Plusieurs contraintes s'appliquent aux algorithmes conçus pour les systèmes distribués. L'asynchronie en est un exemple emblématique. Une des manières d'appréhender ces problèmes est de chercher à réduire la taille des messages échangés entre les différents nœuds du réseau. Cette thèse se concentre sur l'optimisation de la mémoire nécessaire à la communication pour les algorithmes distribués auto-stabilisants. Nous établissons dans cette thèse plusieurs résultats négatifs, démontrant l'impossibilité de résoudre certains problèmes sans une certaine taille minimale pour les messages échangés, en établissant une impossibilité d'utiliser jusqu'au bout l'existence d'identifiants uniques dans le réseau en dessous de cette taille minimale. Ces résultats sont génériques et peuvent s'appliquer à de nombreux problèmes distribués. Dans un second temps, nous proposons des algorithmes particulièrement efficaces en mémoire pour la résolution de deux problèmes fondamentaux des systèmes distribués: la détection de terminaison, et la circulation perpétuelle de jeton.Self-stabilization is a suitable paradigm for distributed systems, particularly prone to transient faults. Errors such as memory or messages corruption, break of a communication link, can put the system in an inconsistent state. A protocol is self-stabilizing if, whatever the initial state of the system, it guarantees that it will return a normal behavior in finite time. Several constraints concern algorithms designed for distributed systems. Asynchrony is one emblematic example. With the development of networks of connected, autonomous devices, it also becomes crucial to design algorithms with a low energy consumption, and not requiring much in terms of resources. One way to address these problems is to aim at reducing the size of the messages exchanged between the nodes of the network. This thesis focuses on the memory optimization of the communication for self-stabilizing distributed algorithms. We establish in this thesis several negative results, which prove the impossibility to solve some problems under a certain limit on the size of the exchanged messages, by showing an impossibility to fully use the presence of unique identifiers in the network below that minimal size. Those results are generic, and may apply to numerous distributed problems. Secondly, we propose particularly efficient algorithms in terms of memory for two fundamental problems in distributed systems: the termination detection, and the token circulation

    Borne inférieure optimale pour la complexité spatiale des algorithmes déterministes auto-stabilisants d'élection

    No full text
    International audienceDans cet article nous considérons les réseaux non anonymes et des problématiques dont la solution peut être capturée par un prédicat booléen Π, problématiques comme la coloration des noeuds, l'élection... Un algorithme auto-stabilisant pour Π est un algorithme distribué qui, quelle que soit la configuration initiale du réseau (c'est-à-dire une configuration où chaque noeud peut se voir attribuer une valeur arbitraire en chacune de ses variables), converge vers une configuration qui satisfait Π. Il est connu que le problème de l'élection n'admet pas d'algorithme déterministe auto-stabilisant utilisant une mémoire constante en bits à chaque noeud, autrement dit, pour certains réseaux, la taille de la mémoire par noeud doit croître en même temps que la taille du réseau. D'autre part, il existe un algorithme déterministe auto-stabilisant pour le problème de l'élection dans un anneau dont la taille mémoire par noeud est O(log log n) bits, où n est la taille du réseau. Nous montrons dans cette article que cette dernière complexité spatiale est optimale. Plus précisément, nous prouvons que tout algorithme déterministe auto-stabilisant résolvant le problème de l'élection doit utiliser une taille mémoire de Ω(log log n) bits par noeud. Nous montrons également que notre borne inférieure s'applique au-delà du problème de l'élection à tous les problèmes qui ne peuvent être résolus par des algorithmes anonymes

    Borne inférieure optimale pour la complexité spatiale des algorithmes déterministes auto-stabilisants d'élection

    No full text
    International audienceDans cet article nous considérons les réseaux non anonymes et des problématiques dont la solution peut être capturée par un prédicat booléen Π, problématiques comme la coloration des noeuds, l'élection... Un algorithme auto-stabilisant pour Π est un algorithme distribué qui, quelle que soit la configuration initiale du réseau (c'est-à-dire une configuration où chaque noeud peut se voir attribuer une valeur arbitraire en chacune de ses variables), converge vers une configuration qui satisfait Π. Il est connu que le problème de l'élection n'admet pas d'algorithme déterministe auto-stabilisant utilisant une mémoire constante en bits à chaque noeud, autrement dit, pour certains réseaux, la taille de la mémoire par noeud doit croître en même temps que la taille du réseau. D'autre part, il existe un algorithme déterministe auto-stabilisant pour le problème de l'élection dans un anneau dont la taille mémoire par noeud est O(log log n) bits, où n est la taille du réseau. Nous montrons dans cette article que cette dernière complexité spatiale est optimale. Plus précisément, nous prouvons que tout algorithme déterministe auto-stabilisant résolvant le problème de l'élection doit utiliser une taille mémoire de Ω(log log n) bits par noeud. Nous montrons également que notre borne inférieure s'applique au-delà du problème de l'élection à tous les problèmes qui ne peuvent être résolus par des algorithmes anonymes

    Optimal Space Lower Bound for Deterministic Self-Stabilizing Leader Election Algorithms

    No full text
    International audienceGiven a boolean predicate Π on labeled networks (e.g., proper coloring, leader election, etc.), a self-stabilizing algorithm for Π is a distributed algorithm that can start from any initial configuration of the network (i.e., every node has an arbitrary value assigned to each of its variables), and eventually converge to a configuration satisfying Π. It is known that leader election does not have a deterministic self-stabilizing algorithm using a constant-size register at each node, i.e., for some networks, some of their nodes must have registers whose sizes grow with the size n of the networks. On the other hand, it is also known that leader election can be solved by a deterministic self-stabilizing algorithm using registers of O(log log n) bits per node in any n-node bounded-degree network. We show that this latter space complexity is optimal. Specifically, we prove that every deterministic self-stabilizing algorithm solving leader election must use Ω(log log n)-bit per node registers in some n-node networks. In addition, we show that our lower bounds go beyond leader election, and apply to all problems that cannot be solved by anonymous algorithms

    Détection de terminaison silencieuse, anonyme, stabilisante instantanément

    No full text
    International audienceNous abordons le problème de la détection de terminaison (TD) dans les réseaux asynchrones. Un algorithme qui résout ce problème détecte si un algorithme distribué observé A a convergé vers une configuration qui satisfait un prédicat particulier. Il est connu que TD ne peut pas être résolu dans le contexte de l'auto-stabilisation, sauf si l'algorithme est instantanément stabilisant (snap-stabilization), c'est-à-dire qu'il se comporte toujours conformément à sa spécification, indépendamment de la configuration initiale. Un algorithme déterministe instantanément stabilisant pour TD est donné dans [7] pour les réseaux enracinés, autrement dit les réseaux où tous les noeuds exécutent le même algorithme, sauf un. Dans cet article, nous proposons un algorithme générique, déterministe, silencieux, instantanément stabilisant, qui détecte la terminaison d'un algorithme observé A, auto-stabilisant, silencieux et terminant. Notre algorithme ne nécessite pas de structure sous-jacente, ni de topologie spécifique et fonctionne dans des réseaux anonymes. Plus précisément notre algorithme n'utilise aucune hypothèse permettant de distinguer un ou plusieurs processus, de plus, il fonctionne sous les hypothèses de l'ordonnanceur le plus faible, l'ordonnanceur inéquitable. Construite audessus de n'importe quel unisson asynchrone auto-stabilisant sous-jacent U, notre solution requiert comme espace mémoire supplémentaire uniquement O(log D) bits par noeud, où D est le diamètre du réseau. Puisqu'il n'existe aucun algorithme d'unisson avec une meilleure complexité spatiale, l'espace mémoire supplémentaire de notre solution est comparable à la complexité spatiale de l'algorithme d'unisson sous-jacent. Notre algorithme fournit une réponse positive en O(max(k, k' , D)) rounds, où k et k' sont les complexités respectives en temps de stabilisation de A et U
    corecore